Many software companies provide online software updating and upgrading mechanisms for their software products. Using these systems is fraught with difficulties and delay, from error correction difficulties to interrupted transmissions to slow performance over online connections. For example, permitting multiple downloads of large upgrade files can cause server lag, leading to user frustration. Thus upgrade mechanisms may cause more difficulties than they solve, as error laden, incomplete and slow transmissions may lead to customer relation problems, calls to customer support, etc.
Moreover, upgrade mechanisms are often limited to updating or upgrading small parts of a software product, e.g. the nonexecutable files and databases associated with the product, because of the difficulties and delay in the mechanisms. If executable upgrades are available, the entire executable must be replaced.
The difficulties attendant to transmission are not limited to any particular size of a connection, e.g., they are not limited to 2400 baud connections, 28.8 K connections, etc. Rather, adequate bandwidth is relative, inter alia, to the size of the transmission. Therefore a bandwidth of 56 K may be adequate for email but less than adequate for streaming video. Accordingly, transmitting data across any type of connection may be difficult. Adequate bandwidth is also relative to the speed or time available for the transmission. For example, a message that may adequately be transmitted under normal conditions through the available bandwidth may be constrained by the bandwidth in emergency situations.
One example of difficult transmission technology is seen in the updating of typical antivirus software. In typical antivirus software, the main virus detection mechanism is a virus signature database, which contains the various codes of known viruses. (The typical antivirus software product uses the entries in this database to detect virus code in the programs it scans.) The virus signature database should be updated frequently as new viruses are discovered. Without frequent updates, the user of the antivirus software will be left without the latest protection. However, because of the difficulties with online updating, users may not regularly update their antivirus software, and so leave themselves at the mercy of computer viruses.
The difficulties associated with upgrading and updating technology may also mean that the vendors lose money. The users may choose not to upgrade, thus depriving the vendor of possible upgrade revenue, because of the difficulties and delay in the process.
Upgrade technology includes network administration technology. For example, it is extremely difficult to provide updates across a network because of the burden on the network and the difficulty of upgrading many machines concurrently or nearly concurrently. Moreover, daily or even hourly update inquiries would be helpful and useful but the strain of constantly ascertaining upgrade availability would likely be too great for the network.
Accordingly, it would be desirable to provide an efficient and effective update and upgrade mechanism and it is an object of the present invention to provide an efficient and effective update and upgrade mechanism with minimal operational effort required by the user.
It is a further object of the present invention to provide an efficient and effective mechanism for data transmission.
It is a further object of the present invention to provide an efficient and effective mechanism for data transmission across all ranges of bandwidth.